Field of the Invention
The present invention generally relates to service-oriented architecture (SOA), and more particularly relates to a system and method for supporting the collaborative working of process-oriented and event-based business process management (BPM) methods in a service-oriented architecture (SOA).
Description of the Related Art
Business process management (BPM) is a SOA management method focused on aligning organizations with the wants and needs of clients. BPM is also a holistic management information technology (IT) approach that promotes business effectiveness and efficiency while striving for innovation, flexibility and integration through technology. With advanced workflow technology, BPM performs an omni-directional management on enterprises from the aspect of business process, and supports enduring improvements of business process. Its core idea is to provide a unified modeling, executing, and monitoring environment for various businesses within an enterprise and among enterprises. It is therefore a “process optimization” process. The advantages of BPM are as followed: reducing the mismatch between business requirements and IT systems; improving the productivity of employees and reducing operating cost; improving the mobility and flexibility of enterprises; and reducing development cost.
In the BPM field, BPM leads to business innovation and optimization by implementing business strategies through modeling, developing, deploying, and managing business processes throughout the entire production lifecycle. A business process can refer to a collection of related, structured activities that help produce a service or product that meets the needs of a client. Although the initial focus of BPM was on the IT automation of mechanistic business processes, it has since been extended to integrate human-driven processes in which human interaction takes place in series or parallel with the mechanistic processes. A common form is where the individual steps in the business process which require human intuition knowledge or judgment to be performed are assigned to the appropriate members in an organization. Thus, BPM may be regarded as the backbone of enterprise content management.
Traditionally, a process-oriented method may be adopted where the business process is modeled as a network of activities. This network of activities can be constructed as a directed graph in which the nodes in the graph represent the activities or tasks that are performed, denoting different steps of the process. An activity may need human interaction or be fully automatic. For an activity that needs human interaction, a character may be defined in the process to identify who is allowed to interact with the process herein. The edges of the graph, i.e. the control connectors, describe the potential sequence of the execution of the activities. In industry there are several process definition methods, such as BPMN, XPDL, BPEL.
A brief architecture of a process-oriented BPM method in the prior art is described with respect to FIG. 1. First, requirement analysis and modeling 120 is performed on the process requirements 110 by modelers and business analysts, thereby producing process models 121. Then at the IT layer, the implementation 130 is performed on the process models 121 by integration developers and application developers. During the implementation process, the existing services and existing components are integrated through interaction glue so that each process model can be better suitable for a specified condition, and process flows 131 are produced. Afterwards, in the business process runtime infrastructure (operating environment) 140, the process flows 131 are executed. When the human interaction or decision-making is needed, related staff can participate in the execution process. Further, the execution of the runtime environment can be managed by administrators. During the execution of the business process, it is also needed to perform monitoring and analysis 150 on the execution of the process flows 131, so as to calculate critical performance indexes and obtain process improvement feedbacks with respect to the execution of the process flows 131. These process improvement feedbacks are transferred to the phase of requirement analysis and modeling 120 so that the modelers and business analysts can further improve the process models 121 according to the feedbacks. In this way, the “process optimization” process of BPM can be implemented, which makes the whole system more efficient and flexible.
Recently, along with the development of BPM, event-based architecture has become an emerging technology. An event-based application provides the ability to sense when an event message occurs or does not occur, indicating that an actionable business situation has occurred. Also an event-based application provides the ability to coordinate the right responses (actions) at the right time.
The features of process-oriented BPM methods are intuitive, explicit, and easy to model, but are not conducive to modification, and limited to information access. Although the features of event-based BPM methods are loosely-coupled, easy to modify, and able to access all information in theory, they are not intuitive enough and complicated to model. The forms and viewing angles of the two modes are different. Sometimes the process-oriented methods are easier; sometimes the event-based methods are easier. Therefore, modelers and business analysts can adopt different methods based on particular situations. For example, the processes of opening a bank account and insurance claim are typical process-oriented implementations. Under some circumstances, it is necessary to trigger the execution of some process or the rejection of the process by an event. Then event-based implementations are needed, for example, ATM withdrawal (it may be necessary to consider the account balance, daily maximum withdrawal amount, etc.), money laundering investigation process (it may be necessary to consider the trading records of one specified customer during a time period and conduct an overall analysis).
In practical implementation, how to make the two styles of SOA applications smoothly and closely work together, so that an enterprise can have a better control and management of the end-to-end process, is a problem. For example, for some process that may be implemented by process-oriented BPM methods, some parts in the process may be more suitable for handling by event-based methods; or, some methods for implementing some parts in the process, which are event-based, have already existed inside or outside the enterprise. At this point, it is expected to split the various parts of the SOA application into two parts, process-oriented and event-based, thereby further improving the working efficiency.
The above problem relates to model transformation. Prior art tools and methods to solve such problem are monolithic transformation processes, i.e., either the transformation from process-oriented models to process-oriented models, or from process-oriented models to event-based models. In an actual SOA application, such a method is expected, which can implement a hybrid of process-oriented and event-based models, thereby supporting the collaborative working of process-oriented and event-based BM methods.